One of the great benefits of a computer is its ability to accept the attachment of additional circuits and/or devices. The ability to attach additional devices can greatly increase the flexibility and usability of the computer. These additional circuits and/or devices are commonly referred to as peripherals. Peripherals can be used to provide functionality that was not available on the computer or enhance existing functionality.
However, if these peripherals communicate using a different signaling format or scheme (commonly referred to as signaling protocols), then it is necessary to use an interface to perform the needed translation between the different signaling protocols used by the peripheral and the computer. For example, a commonly used communications bus, referred to as a Universal Serial Bus (USB), has become a popular way to connect peripherals to a computer. However, the majority of computers use a different communications bus, a Peripheral Component Interconnect (PCI) bus, to communicate with peripherals that are inside the computer's housing. Therefore, there is a need for an interface between the USB and PCI busses in order for peripherals connected on the USB to communicate to the computer.
An example of a peripheral that is commonly connected to the computer via the USB is a network adapter (both wired and wireless). The attachment of the network adapter allows the computer to connect to a computer (or communications) network and share files, information, multimedia, etc. Of course, the computer network uses its own signaling protocol and an interface is needed there as well. The network adapter provides such an interface, translating the computer network's signaling protocol into the USB signaling protocol, which is then provided to the computer. The network adapter also converts the USB signaling protocol into the computer networks signaling protocol.
As the integration of digital circuits increase, the natural progression for computer devices and peripherals is to integrate as many commonly used devices and peripherals into the computer as is possible. For example, the networked computer has become ubiquitous and many computers have an integrated network adapter. However, in many cases, these integrated network adapters are not truly integrated circuits and are simply existing network adapters that are placed onto the computer's motherboard and are made up of a plurality of discrete parts and/or integrated circuits. To maximize integration, the network adapters are fabricated onto a single semiconductor substrate and placed into a package. Some designers of fully integrated network adapters have taken the custom circuit design path and using fully customized circuitry to perform the necessary operations and interfacing. While this results in a fully functional integrated network adapter, the design of custom circuitry can involve significant expenditures in terms of dollars and engineering time for the development, testing, and debugging of the integrated circuit.
A need has therefore arisen for a method to facilitate the integration of devices and interfaces into an integrated circuit that minimizes the expenditure of design and engineering time as well as money.